﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CurriculasController;
using CurriculasEntities;

namespace GestionCurriculosGlobal
{
    public partial class frmRegCarrera : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                int codCarrera = 0;
                lblTitulo.Text = "Registrar Carrera";

                if (Request.QueryString["idCarrera"] != null)
                {
                    codCarrera = int.Parse(Request.QueryString["idCarrera"]);
                    lblTitulo.Text = "Modificar Carrera";
                    //Cargar Datos Curso
                    ObtenerCarrera(codCarrera);
                    ListaObjetivos(codCarrera);
                }


                ////CARGAR COMBOS
                //ListarAreaConocimiento();
                //ListarPrerequisitos(codCurso);

                ////CARGAR PREREQUISITOS
                //ListaPrerequisitos(codCurso);
                
            }

        }

        private void ListaObjetivos(int codCarrera)
        {

            //CARGAR PAISES
            IEnumerable<ObjetivoCarreraBE> _lstObjetivos = new ObjetivoCarreraBL().ListarTodos().Where(c => c.codCarrera == codCarrera);

            foreach (ObjetivoCarreraBE ocBE in _lstObjetivos)
            {
                //ListItem item = new ListItem();
                //item.Value = ocBE.descripcion;
                //item.Text = ocBE.descripcion;
                //lstObjetivos.Items.Add(item);
                txtObjetivo.Text = ocBE.descripcion;

            }



        }

        private void ObtenerCarrera(int codCarrera)
        {
            CarreraBL objBL = new CarreraBL();
            CarreraBE objBE = new CarreraBE();

            objBE = objBL.Obtener(codCarrera);

            txtNombre.Text = objBE.nombre;
            txtDescripcion.Text = objBE.descripcion;
            txtPerfil.Text = objBE.perEgresado;
            txtMision.Text = objBE.mision;
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            CarreraBL objBL = new CarreraBL();
            CarreraBE objBE = new CarreraBE();
            ObjetivoCarreraBL objOcBL = new ObjetivoCarreraBL();
            ObjetivoCarreraBE objOcBE = new ObjetivoCarreraBE();

            if (txtNombre.Text.Trim() == "")
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "alert('Ingrese datos en el campo Nombre de Carrera.')", true);
            }
            else
            {
                try
                {
                    objBE.nombre = txtNombre.Text;
                    objBE.perEgresado = txtPerfil.Text;
                    objBE.descripcion = txtDescripcion.Text;
                    objBE.mision = txtMision.Text;
                    objBE.estado = "1";

                    try
                    {

                        if (Request.QueryString["idCarrera"] != null)
                        {
                            objBE.codCarrera = int.Parse(Request.QueryString["idCarrera"]);
                            objBE = objBL.Modificar(objBE);

                            
                            objOcBL.EliminarObjetivos(objBE.codCarrera);
                            //GUARDAR PREREQUISITOS

                            //foreach (ListItem item2 in lstObjetivos.Items)
                            //{
                                objOcBE.codCarrera = objBE.codCarrera;
                                //objOcBE.descripcion= item2.Text;
                                objOcBE.descripcion = txtObjetivo.Text;
                                objOcBL.Crear(objOcBE);
                            //}

                                Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "alert('Se modificó satisfactoriamente la carrera con código " + objBE.codCarrera + "');window.location.assign('frmCarrera.aspx');", true);

                            //Limpiar();
                        }
                        else
                        {
                            objBE.codCarrera = objBL.Crear(objBE);

                            ////GUARDAR PREREQUISITOS

                            //foreach (ListItem item2 in lstObjetivos.Items)
                            //{
                                objOcBE.codCarrera = objBE.codCarrera;
                                //objOcBE.descripcion = item2.Text;
                                objOcBE.descripcion = txtObjetivo.Text;
                                objOcBL.Crear(objOcBE);

                            //}
                                Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "alert('Se registró satisfactoriamente la carrera con código " + objBE.codCarrera + "');window.location.assign('frmCarrera.aspx');", true);
                            //Limpiar();
                        }

                    }
                    catch (Exception ex)
                    {

                    }
                }
                catch (Exception ex)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "alert('Ingrese los datos correctamente.');window.location.assign('frmCarrera.aspx');", true);
                }

            }
        }

        //private void Limpiar()
        //{
        //    //txtNombre.Text = "";
        //    //txtPerfil.Text = "";
        //    //txtDescripcion.Text = "";
        //    //txtMision.Text = "";

        //   // Response.Redirect("frmCarrera.aspx");

        //    //Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "window.location.assign('frmCarrera.aspx');", true);
        //}

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("frmCarrera.aspx");
        }


        //protected void btnAgregar_Click(object sender, EventArgs e)
        //{
        //    if (txtObjetivo.Text.Trim() == "")
        //    {
        //        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "alert('Escribir un objetivo valido.')", true);
        //    }
        //    else
        //    {
                
        //        string val = "";
        //        foreach (ListItem item2 in lstObjetivos.Items)
        //        {
        //            if (item2.Value == txtObjetivo.Text)
        //            {
        //                val = "1";
        //            }
        //        }

        //        if (val == "1")
        //        {
        //            Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction2", "alert('El objetivo ya se encuentra agregado.')", true);
        //        }
        //        else
        //        {
        //            ListItem item = new ListItem();
        //            item.Value = txtObjetivo.Text;
        //            item.Text = txtObjetivo.Text;
        //            lstObjetivos.Items.Add(item);

        //            txtObjetivo.Text = "";
        //        }

        //    }
        //}

        //protected void btnEliminarObjetivo_Click(object sender, EventArgs e)
        //{
        //    lstObjetivos.Items.Remove(lstObjetivos.SelectedItem);

        //}
    }
}